package com.softeem.files;

import java.io.File;

/**
 * 遍历文件夹
 *  1、指定要打印的目录File对象
 *  2、调用方法,检查是否还有文件或者文件夹
 *         (1)获取我们要遍历的目录对象
 *         (2)遍历每一个File对象
 *         (3)判断当前的File对象是否是一个目录
 *              如果是一个目录,再次执行2号步骤,调用getFileAll()方法
 *              如果为一个文件,直接打印路径
 */
public class File_03 {
    public static void main(String[] args) {
        File file = new File("D:\\file\\test");
        //调用方法,是整个递归的开始
        getFileAll(file);
    }

    /**
     * 获取指定目录以及其子目录下面所有的文件
     */
    public static void getFileAll(File file){
        //拿到地址之后,将文件夹进行分析
        File[] files = file.listFiles();
        //遍历当前目录下面所有的文件以及文件夹
        for(File f : files){
            //判断当前的对象是否是一个文件夹
            if(f.isDirectory()){
                //是一个文件夹就需要进入到文件夹中继续判断
                //调用这个方法本身
                getFileAll(f);
            }else{
                //如果不是一个文件夹就是一个文件,那么我们将文件地址进行打印
                System.out.println(f);
            }
        }
    }

}
